package com.example.studyDemo;

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class ExcelParser {

    public static List<List<String>> parseExcel(String filePath) throws IOException {
        // 创建一个空的二维列表来存储解析结果
        List<List<String>> result = new ArrayList<>();

        // 打开Excel文件
        FileInputStream file = new FileInputStream(new File(filePath));
        Workbook workbook = new XSSFWorkbook(file);

        // 获取第一个Sheet（可以根据需要修改为其他Sheet）
        Sheet sheet = workbook.getSheetAt(0);

        // 遍历每一行
        for (Row row : sheet) {
            List<String> rowData = new ArrayList<>();
            // 遍历每一列
            for (Cell cell : row) {
                // 将单元格内容转换为字符串并添加到行数据中
                rowData.add(cell.toString());
            }
            // 将行数据添加到结果列表中
            result.add(rowData);
        }

        // 关闭工作簿和文件输入流
        workbook.close();
        file.close();

        return result;
    }

    public static void main(String[] args) {
        try {
            // 替换为你的Excel文件路径
            String filePath = "D:\\text.xlsx";
            List<List<String>> data = parseExcel(filePath);

            String s = "我的名字叫 %s,我今年 %s 岁";


            // 打印解析结果
            for (List<String> row : data) {
                System.out.println(String.format(s,row.get(0),row.get(1)));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
